Object of interest tracking

ABSTRACT

According to a computer-implemented method, multiple potential objects of interest are identified from a camera feed of a source camera. A number of adjacent cameras are identified along possible travel routes. For each adjacent camera, it is detected whether any of the multiple potential objects of interest are identified in an associated camera feed. For each adjacent camera whose feed does not include any potential object of interest, analysis of downstream camera feeds is prevented during tracking of the multiple potential objects of interest.

BACKGROUND

The present invention relates to object of interest tracking, and morespecifically to the elimination of certain possible travel routes whencameras along those travel routes to not detect any of the potentialobjects of interest.

SUMMARY

According to an embodiment of the present invention, acomputer-implemented method is described. According to thecomputer-implemented method, multiple potential objects of interest areidentified from a camera feed of a source camera. A number of adjacentcameras along possible travel routes are identified. For each adjacentcamera, it is detected whether any of the multiple potential objects ofinterest are identified in an associated camera feed. For each adjacentcamera whose feed does not include any potential object of interest,analysis of downstream camera feeds during tracking of the multiplepotential objects of interest is prevented.

The present specification also describes a system. The system includesan image recognition system, to, for camera feeds received from camerasin a network, identify potential objects of interest from associatedcamera feeds. A camera network analysis device of the system identifies,relative to a source camera, a number of adjacent cameras along possibletravel routes. A feed analysis device of the system, for each adjacentcamera, detects whether any of the multiple potential objects ofinterest are identified in an associated camera feed. The system alsoincludes a route planning system to plot a likely route of the multipleobjects of interest by preventing analysis from downstream camera feedswhen an upstream camera does not include any potential object ofinterest.

The present specification also describes a computer program product fortracking an object of interest. The computer program product includes acomputer readable storage medium having program instructions embodiedtherewith. The program instructions are executable by a processor, tocause the processor to identify multiple potential objects of interestfrom a camera feed of a source camera and identify by the processor, anumber of adjacent cameras along possible travel routes. The programinstructions also cause the processor to, for each adjacent camera,detect whether any of the multiple potential objects of interest areidentified in an associated camera feed and for each adjacent camerawhose feed does not include any potential object of interest, preventanalysis of downstream camera feeds during tracking of the multiplepotential objects of interest. Similarly, the program instructions causethe processor to, for each adjacent camera whose feed does include apotential object of interest identify a second number of adjacentcameras. Then, for each of the second number of adjacent cameras,detect, by the processor, whether any of the multiple potential objectsof interested are identified in an associated camera feed and for eachof the second number of adjacent cameras whose feed does not include anypotential object of interest, prevent analysis of downstream camerafeeds to identify the multiple potential objects of interest. Theprogram instructions also cause the processor to plot, by the processor,a likely route of the multiple objects of interest.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a flowchart of a method for tracking an object ofinterest, according to an example of principles described herein.

FIG. 2 depicts a system for tracking an object of interest, according toan example of the principles described herein.

FIG. 3 depicts a flowchart of a method for tracking an object ofinterest, according to another example of principles described herein.

FIG. 4A-4E depict a visualization of a tracked object of interest,according to an example of the principles described herein.

FIG. 5 depicts a system for tracking an object of interest, according toanother example of the principles described herein.

FIG. 6 depicts a flowchart of a method for tracking an object ofinterest, according to another example of principles described herein.

FIG. 7 depicts a computer program product with a computer readablestorage medium for tracking an object of interest, according to anexample of principles described herein.

DETAILED DESCRIPTION

The present invention may be a system, a method, and/or a computerprogram product any possible technical detail level of integration. Thecomputer program product may include a computer readable storage medium(or media) having computer readable program instructions thereon forcausing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers, and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the uses computer, partly on the users computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay in fact be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As objects move through physical space it may be desirable to tracktheir location. For example, it may be desirable to track the movementof a lost pet throughout a neighborhood. Doing so may allow for theperpetrator to be caught and to return property to the owner. Ingeneral, current tracking methods will fall into two categories. In thefirst, a tag may be associated with an object, such as a vehicle orperson, being tracked. This may be done for example via a globalpositioning system (GPS) or similar transmitter, associated with theobject. Of course, this method relies on a tag being associated with theobject.

In another example, no such tag is available and object tracking mayonly generalize and isolate possible locations to search. This secondmethod in particular relies on a far less deterministic approach ofgeneralizing an area of search. Such a generalized search may bedifficult and may not yield satisfactory search results. For example, itmay be that a search team has identified general areas to search basedon an elapsed time and follow leads through manual approaches. As timepasses, the search area increases drastically. For example, a searchradius may be 5 kilometers if within one hour of an initial report andexpand to 10 kilometers within two hours of the initial report. As timegoes on, the search radius exponentially expands. This makes objectsearching difficult and reduces the likelihood of success of findingobjects or persons not attached with tracking technology such as GPS.

Accordingly, the present specification relates to the detection andtracking of objects from a known starting location. The presentspecification describes a method of efficiently tracking these “objectsof interest”.

Specifically, the present specification describes a method to determinepossible routes a target may take and prune the scope of a search forthe target over time. Specifically, cameras may be placed in publicareas for a variety of reasons. As a specific example, traffic camerasmay be placed to monitor traffic and security cameras may be placed tomonitor activity outside or near a building. According to the presentspecification, object and facial recognition systems may be employed onimages from these cameras to capture and locate a target. According tothe present method, objects of interest such as faces or vehicles areidentified on the cameras at a source. From the current location,adjacent locations that have cameras are identified such that theobjects of interest may be identified at these adjacent locations. Fromcollected video from the adjacent locations, the system looks formatching objects of interest. Locations that have no matches aredismissed. Through repeating this process, the system plots a route thatan object of interest has taken from the source. As adjacent locationsare analyzed, certain cameras that do not have feeds that include theobjects of interest are dropped so as to hone in on a particular routeor at least a smaller set of potential routes.

Such a system, method, and computer program product 1) allow projectionof potential routes an object of interest may take from a location; 2)use a more deterministic approach over an expanding radius of possiblelocations; 3) can be initiated via a trigger such as an alarm or amanual trigger. For example, if an individual has a confirmed locationof an object of interest at a particular time, then that location isused as a base location. The system, method, and computer programproduct also reduce the search scope by isolating next possiblelocations from a current location. In the case of multiple objects ofinterest are found at the starting location, the present system, method,and computer program product allow for the narrowing down of trackingefforts until one is identified as the particular object of interest.

As used in the present specification and in the appended claims, theterm “a number of” or similar language is meant to be understood broadlyas any positive number including 1 to infinity.

Turning now to the figures, FIG. 1 depicts a flowchart of a method (100)for tracking an object of interest, according to an example ofprinciples described herein. As described above, such a method (100)projects and tracks the route of an identifiable object of interest,which may be a person, vehicle, or other trackable object. Specifically,the present method (100) optimizes the set of locations where a searchis to be done. From an initial known location of an object, the nextpossible set of locations are projected. Locations for which it isimprobable that an object of interest is found are eliminated fromsubsequent analysis. That, is, the present method (100) optimizes theset of areas to look for while analyzing data for objects of interest bycarrying forward known objects of interest from the previous locationand prioritizing search for these known objects first. As used in thepresent specification a target object of interest may be an individual,a vehicle, or any other object that can be visually tracked, such as ananimal.

According to the method (100), multiple potential objects of interestare identified (block 101) from a camera feed of a source camera. Thesource camera may be near a known location of an object of interest andmay be a starting point of object tracking. For example, an object ofinterest may be a vehicle leaving a particular store. A camera placedover the store parking lot may have a feed that captures images of theparticular vehicle. In this example, the camera at the store parking lotmay be the source camera. In addition to capturing the vehicle ofinterest, the source camera may capture other potential objects ofinterest, for example customers and other vehicles going into and out ofthe store and/or parking lot. Accordingly, the system of the presentapplication may identify (block 101) these potential objects ofinterest.

Such identification (block 101) may include a variety of differentmechanisms. For example, facial recognition systems may be able todistinguish between different people in a camera feed. As yet anotherexample, tracking technologies may be able to identify and distinguishvehicle characteristics such as license plate numbers, colors, and typesof vehicles. Such technologies may be used to distinguish and/ordifferentiate various potential objects of interest.

The method (100) also includes identifying (block 102) a number ofadjacent cameras along possible travel routes. That is, as describedabove, within any geographic region there may be any number of camerasdisposed along possible travel routes. Examples include security camerasplaced around businesses and/or traffic cameras placed at intersectionsof roads.

The identification (block 102) of the adjacent cameras may be performedin any number of ways. In a first example, the adjacent cameras may beidentified (block 102) by traversing paths to identify possible routesaway from the source camera. For example, in the case of a vehicle or aperson, that vehicle or person may travel along roadways. The system mayinclude a database of those roadways as well as a database of camerasalong those roadways. Accordingly, the system may virtually traverse theroutes leading away from the source location and once a location isreached that has a camera positioned, this camera may be marked as anadjacent camera. In another example, an area of analysis may beevaluated to determine if there are any cameras within that area. Ifnot, the radius is expanded away from a source camera until a camera, ora set of cameras is detected, which camera or set of cameras may beidentified as adjacent cameras.

In yet another example, each camera may be aware of the next immediatelocations. That is, the source camera itself may identify the number ofadjacent cameras along possible travel routes. For example, informationdefining each camera and its relative position to other cameras may beprogrammed into each camera such that the source camera itself knowswhich cameras are nearest either in line of sight or via dedicatedroadways/pathways. In other examples, such an identification (block 102)of adjacent cameras is performed off-site, for example, at a data serverremote to the cameras.

For each adjacent camera, it is detected (block 103) whether any of themultiple potential objects of interest are identified in an associatedcamera feed. This may include comparing objects of interest identifiedin a source camera feed with objects of interest from an adjacent camerafeed. For example, a source camera feed may identify vehicle A, vehicleB, and vehicle C, and individual 1, individual 2, and individual 3. Afirst camera feed may identify vehicle B, vehicle D, vehicle, E andindividual 3, individual 4, and individual 5 while a second camera feeddoes not identify any of the potential objects of interest. The overlapof potential objects of interest for each feed indicates a direction oftravel for the shared potential objects of interest. For example, fromthe source location, vehicle B and individual 2 followed a directionfrom the source camera to the first adjacent camera, while none of thepotential objects of interest from the source camera made their waytowards the second adjacent camera.

The adjacent camera feeds may be analyzed similar to the source camerafeed for example, via facial recognition, vehicle licensing platerecognition, or any other form of image analysis. In one particularexample where the source camera identifies the adjacent camera, thesource camera may send a notification of identified potential objects ofinterest and data regarding the multiple potential objects of interestto the number of adjacent cameras. That is, data may be transmitteddirectly from the source camera to the adjacent cameras. In someexamples, if the cameras have enough computing power, the camerasthemselves may detect (block 103) a match between detected potentialobjects of interest. In other examples, the comparison of detectedpotential objects of interest may be done by sending video feeds to aserver to perform the processing.

For each adjacent camera whose feed does not include any potentialobject of interest, analysis of downstream camera feeds is prevented(block 104). For example, as noted above, the second camera feed, whichmay be placed a few blocks away from the store location, may not haveidentified any of the potential objects of interest as identified in thesource camera feed. Accordingly, it is ineffective to analyze camerasadjacent to this second camera as it is known that the target object ofinterest, nor any of the multiple potential objects of interest are inthat area. Thus, the method (100) provides away to prune a search areato just those areas where a potential object of interest has beenidentified and by eliminating those areas where it is known that apotential object of interest is not found. Thus, the location andtracking of an object of interest is simpler and more effective, thusincreasing the likelihood of finding a potential object of interest asit travels away from a source location.

A specific example is now provided, again in the context of a most pet,however as noted above, the method (100) as described herein may applyacross a variety of scenarios. In this example, a time the pet becamelost may be identified by either alarms or calls to emergency services.Based on the location associated with the pet, relevant, or source,cameras for the location are identified, which source cameras may beselected for being within a minimum distance of the location and forhaving a view towards the location. In some examples, a time window isestablished of a decided time before the event up until a decided timeafter the event. The source camera feed is analyzed for this time windowto identify potential objects of interest associated with the lost pet,which objects of interest may be the pet itself.

Objects of interest are flagged with enough details to cross referenceagainst instances of capture from other sources (e.g. cameras) of data.As described above, the next possible set of locations is identifiedstarting from the current location. As described above, this may be doneby following roads/pavements to identify all possible routes out of thecurrent location to reach the first set of next locations or byexpanding a radius until the next set of locations are reached. Aparticular location is identified as a point on a map within the view ofone or more cameras. These may correspond to traffic junctions, publicbuildings, or other buildings, such as a bus station. At this point, anumber of possible adjacent locations have been identified based on thepossible routes from the starting location.

As with the source camera, camera feeds for these adjacent cameras areanalyzed to identify objects of interest. As with the source camera, oneor more objects of interest may be identified in these new locations.The intersection of the objects from the adjacent cameras and theobjects from the source camera form a new set of objects of interest.Any location that has no matching objects of interest may be discarded.In some examples, certain objects of interest may be filtered. Forexamples, a bus passing by the location without stopping may be filteredfrom the potential objects of interest thus further optimizing thesearch.

For each of the remaining locations, the process is repeated, that isadjacent cameras are identified and those without matching objects ofinterest are discarded as are their downstream cameras. Through thisprocess, the method (100) eliminates routes that have no matchingobjects of interest and just those routes that have captured one of theobjects of interest are retained.

Using map routing and travel estimation, a system can estimate how faralong each of the possible routes someone may reach using various formsof transportation such as walking, bicycle, car, bus etc. Such a method(100) provides a great help to agencies or users to track and pursuedifferent objects of interest such as people, animals, and/or vehiclesfrom a known location. Moreover, such a system improves thefunctionality of a computing device by performing facial recognition orother methods of visual analysis on a subset of potential data, i.e.,just those cameras for which it is known that an object of interestpassed by.

FIG. 2 depicts a system (200) for tracking an object of interest,according to an example of the principles described herein. To achieveits desired functionality, the system (200) includes various components.Each component may include a combination of hardware and programinstructions to perform a designated function. The components may behardware. For example, the components may be implemented in the form ofelectronic circuitry (e.g., hardware). Each of the components mayinclude a processor to execute the designated function of the component.Each of the components may include its own processor, but one processormay be used by all the components. For example, each of the componentsmay include a processor and memory. In another example, one processormay execute the designated function of each of the components.

The system (200) includes an image recognition system (202) to, forcamera feeds received from cameras in a network, identify potentialobjects of interest from associated camera feeds. Such an imagerecognition system (202) may employ facial recognition. As a particularexample, the image recognition system (202) may extract landmarks froman image of a subject. Examples of such landmarks may include relativeposition, size, and/or shape of eyes, nose, cheekbones, and jaw or otherfacial features. In another example, the image recognition system (202)may be able to extract non-facial landmarks such as a color of avehicle, or a license plate of a vehicle. This information may be storedand associated with a particular object of interest in the camera feed.As described above, these characteristics of the objects of interest maybe compared against characteristics of objects detected by other camerasto determine if there is a match. If there is a match and the comparedfeeds are adjacent one another along a particular roadway/pathway, it isindicative that the matched object traveled from one location to theother, a direction of travel which may be determined based on timestamps associated with the capture of the object of interest. In someexamples, the image recognition system (200) includes image recognitiondevices integrated with respective cameras. That is, the computer codeto perform vehicle, human, or other object recognition may be at thecamera itself. In other examples, the image recognition system (202) islocated at a remote location from the network of cameras, for example ata remote server. In this example, the image recognition system (202) mayanalyze feeds from multiple cameras.

The system (200) also includes a camera network analysis device (204) toidentify, relative to a source camera, a number of adjacent camerasalong possible travel routes. In this example, the camera networkanalysis device (204) may include a database that locates each camera ina camera network. Adjacent cameras may be identified based on theirconnection to each other along roadways. For example, an adjacent cameramay be identified as a camera for which there is a path to a sourcecamera, without any cameras along the path between the two. In anotherexample, an adjacent camera may be identified as one within a smallestradius without other cameras having a smaller radius. Such a cameranetwork analysis device (204) accordingly may have a database of camerasin a camera network and/or a database of roadways or other paths betweencameras in the network.

As described above, the camera network analysis device (204) may beintegrated with cameras of the network, such that each camera has storedinformation indicating which cameras are its adjacent cameras usingeither of the criteria described above (i.e., closest along roadways,closest in a line-of-sight measurement system).

The system (200) also includes a feed analysis device (206) to, for eachadjacent camera, detect whether any of the multiple potential objects ofinterest (from the source camera) are identified in an associated camerafeed. That is, characteristics for potential objects of interestidentified in the source camera feed are compared againstcharacteristics for objects detected in adjacent camera feeds. Any matchindicates that an associated object of interest traveled between the twoassociated cameras.

A route plotting system (208) plots a likely route of multiple objectsof interest by preventing analysis of downstream camera feeds when anupstream camera does not include any potential object of interest. Forexample, returning to the example above where a second camera did notdetect any potential object of interest. In this example, camerasdownstream of just the second camera are eliminated from analysis as thefact that no object of interest was detected at the second camerastrongly suggests that no object of interest would be detected atcameras downstream of just that second camera. An example of theelimination of downstream cameras is provided below in connection withFIGS. 4A-4E. Thus, the system (200) provides for an effective method ofpruning a search area for an object of interest by eliminating thoseareas where the object of interest is least likely to be.

FIG. 3 depicts a flowchart of a method (300) for tracking an object ofinterest, according to another example of principles described herein.According to the method (300), a signal is received (block 301) thattriggers identification of multiple potential objects of interest fromthe source camera. For example, a user may report or receive a reportthat an object of interest, such as a person or a vehicle, has gonemissing and may initiate the system (FIG. 2, 200) analysis. In anotherexample, the signal may be an alarm or other automated event thatautomatically triggers activation of the system (FIG. 2, 200).

Following such a signal, a time window is determined (block 302) inwhich to identify multiple potential objects of interest from a camerafeed. Such a window provides more opportunity to correctly identify anobject of interest. That is, rather than just relying on camera feedfrom after a signal is received (block 301), camera feed from before thesignal is received (block 301) may also be used to identify and properlytrack an object of interest. Also, such a time window may preventextraneous camera feed analysis. That is, camera feed that is athreshold amount of time following reception of a signal may beirrelevant and may capture objects that are not of interest as itrelates to the event that triggered the analysis. Accordingly, withinthis determined time window, multiple potential objects of interest areidentified (block 303) from the camera feed of the source camera. Thismay be performed as described above in connection with FIG. 1.

As described above, the method (300) may also include filtering (block304) at least one of the multiple potential objects of interest. Forexample, the image recognition system (FIG. 2, 202) may identify a dogor a public transit bus that passes by the source camera. Such objectsmay be filtered (block 304) as they may skew the route planning that isbased on detected objects of interest.

A number of adjacent cameras are identified (block 305) and it isdetected (block 306) whether any of the multiple objects of interest areidentified in an associated camera feed of an adjacent camera. Theseoperations may be performed as described above in connection withFIG. 1. If no object of interest from a source camera feed is identifiedin an adjacent camera feed (block 307, determination NO), analysis ofdownstream camera feeds is prevented (block 308) as described above inconnection with FIG. 3.

By comparison, if an object of interest from a source camera feed isdetected in an adjacent camera feed (block 307, determination YES), theprocess repeats. That is, for each camera where an object of interestfrom the source camera is detected, a second number of adjacent camerasis identified, the second number being adjacent to the camera whichdetected objects of interest from the root, or source camera. For eachof the second number of adjacent cameras it is detected whether any ofthe multiple potential objects of interest are identified in anassociated camera feed. Similarly, if no object of interest is detected,analysis of downstream cameras is prevented while if any of the multipleobjects of interest are detected, analysis continues downstream. Thus,the present method (300) describes an iterative approach whichsequentially considers whether a downstream camera has any object ofinterest identified from an upstream camera and continues downstreamanalysis if it does and prevents it if it does not. Thus, a route isidentified of the different objects of interest away from a sourcelocation. In so doing, those routes that are unlikely, on account ofthem not having any of the identified source objects of interest, arenot analyzed, thus conserving computing bandwidth, and leading to a morerapid and effective localization of a particular object of interest.

FIG. 4A-4E depict a visualization of a tracked object of interest,according to an example of the principles described herein. As describedabove, such a tracking begins at a source location indicated by the “X”in FIGS. 4A-4E. That is, camera feed from a source camera (412-1) isanalyzed to determine multiple potential objects of interest that arecaptured by the source camera (412-1) during a determined time periodbefore and/or after the signal to trigger the tracking is received. Forsimplicity, a single camera (412) is indicated with a reference number.In this scenario there may be a number of possible routes (410-1, 410-2,410-3, 410-4), each leading towards a different adjacent camera (412).

Feeds for each of these cameras (412) is analyzed to determine whatobjects are captured therein. As depicted in FIG. 4B, a second route(410-2) is identified as the route of the object of interest as a secondcamera (412-2) identified the object of interest. That is, objects ofinterest identified by the source camera (412-1) were identified by thesecond camera (412-2), but none of the other adjacent cameras in FIG. 4Athat were associated with other possible routes (410-1, 410-3, 410-4).

Note that the camera feeds of adjacent cameras (412) may be similarlymonitored during a predetermined window. That is, based on a known modeof transport (i.e., by foot, biking, car) it may be determined an amountof time it would take for the object of interest to reach the adjacentcamera. Accordingly, based on the time window during which the sourcecamera (412-1) feed is analyzed, the second camera (412-2) feed may beanalyzed, which window for the second camera (412-2) is determined basedon a speed of travel of the object of interest.

As depicted in FIG. 4B, a similar process is carried out where potentialroutes (410-5, 410-6, 410-7) leading away from the second camera (412-2)towards a second set of adjacent cameras (412) are determined, the feedsof which are analyzed to determine if the object of interest is capturedthereon.

As depicted in FIG. 4C, a particular route (410-7) is identified as theroute based on the object of interest showing up on the camera feed ofthe third camera (412-3). Again, a similar process is carried out wherepotential routes (410-8, 410-9) leading away from the third camera(412-3) towards another set of adjacent cameras (412) are determined,the feeds of which are analyzed to determine if the object of interestis captured thereon.

As depicted in FIG. 4D, a particular route (410-8) is identified as theroute based on the object of interest showing up on the camera feed ofthe fourth camera (412-4). Again, a similar process is carried out wherepotential routes (410-10, 410-11, 410-12) leading away from the fourthcamera (412-4) towards another set of adjacent cameras (412) aredetermined, the feeds of which are analyzed to determine if the objectof interest is captured thereon.

As depicted in FIG. 4E, a particular route (410-11) is identified as theroute based on the object of interest showing up on the camera feed ofthe fifth camera (412-5). Again, a similar process is carried out wherepotential routes (410-13, 410-14, 410-15) leading away from the fifthcamera (412-5) towards another set of adjacent cameras (412) aredetermined, the feeds of which are analyzed to determine if the objectof interest is captured thereon.

Accordingly, a systematic process of analyzing just downstream camerasfrom cameras where the object of interest is detected provides forhoning in on the likely route of any number of possible routes. That is,in a situation where a vehicle is missing, a task force maysystematically search each possible route, regardless of a likelihoodthat the vehicle traveled in that direction. However, using the system(FIG. 2, 200) and methods described herein, a more effective, efficientand bandwidth conserving process is provided.

Note that in some examples, adjacent cameras (412) at the end ofpossible route segments may be cameras (412) previously analyzed. Forexample, in FIG. 4E, in addition to analyzing cameras at the ends of thepotential routes (410-13, 410-14, 410-15), the fourth camera (412-4)feed at the end of the traveled route (410-11) may also be analyzed totrack the object of interest in the event the object of interestback-tracked along the traveled path. That is, routes may be retraced,so at any location, the previous location may be one of the nextpossible locations.

FIG. 5 depicts a system (200) for tracking an object of interest,according to another example of the principles described herein. Asdescribed above in connection with FIG. 2, the system (200) may includean image recognition system (202), a camera network analysis device(204), and a route plotting system (208). In this example, the system(200) also includes the feed analysis device (206). In this particularexample, the feed analysis device (206) includes a database (514) ofknown objects of interest. For example, rather than trying to identifywhat the object of interest is from any number of objects capturedduring a feed, a description of the object of interest, or a descriptionof multiple objects of interest may be known. Accordingly, rather thanusing the camera feeds to determine from multiple objects, a subset ofthe objects that are of interest, the subset of objects that are ofinterest may be predetermined.

As a specific example, it may be determined, for example via usertestimony, that a red truck is missing, which is indicated in thedatabase (514). Accordingly, rather than analyzing each camera feed todetermine routes of all vehicles, just a route of the red truck may betracked. Thus, the database (514) is used to distinguish objects ofinterest from any other object that may be captured on the camera feeds.

The system (200) may also include a travel estimation system (516) toestimate a distance traveled by each object of interest. As describedabove, based on the estimated distance traveled, a time window may beidentified during which feeds of adjacent cameras are analyzed todetermine whether an object of interest has traveled by. For example, itmay be that an object of interest is a person on a bike and that itwould take approximately 2-3 minutes for the object of interest to gofrom a source camera to an adjacent camera. Accordingly, the adjacentcamera may be analyzed during a window between 0-5 minutes after a timestamp associated with the object of interest showing up on the sourcecamera feed.

FIG. 6 depicts a flowchart of a method (600) for tracking an object ofinterest, according to another example of principles described herein.According to the method (600), a signal is received (block 601) whichtriggers identification and tracking of objects of interest. A sourcecamera is identified (block 602) from which images are extracted (block603). Various pieces of information may be extracted (block 603) duringthis process including a timestamp, facial information, a license plateand/or any other trackable characteristic. This information may becollected and analyzed to determine (block 604) of objects of interest.

As described above, possible routes may be identified (block 605) or aradius expanded (block 606), both of these operations to identify (block607) a new, or next camera, along each of multiple possible travelroutes. It is then determined (block 608) if one of the previouslyidentified objects of interest is found on those next camera feeds. Ifnot (block 608, determination NO), the associated route is discarded(block 609), thus eliminating from subsequent analysis a route for whichit is unlikely the object of interest passed. If the object of interestis detected (block 608, determination YES), the process returns toeither of the methods for identifying (block 607) a new camera and theprocess repeats until the route is determined or the object of interestis located and identified.

FIG. 7 depicts a computer program product (718) with a computer readablestorage medium (720) for tracking an object of interest, according to anexample of principles described herein. To achieve its desiredfunctionality, a computing system includes various hardware components.Specifically, a computing system includes a processor and acomputer-readable storage medium (720). The computer-readable storagemedium (720) is communicatively coupled to the processor. Thecomputer-readable storage medium (720) includes a number of instructions(722, 724, 726, 728, 730) for performing a designated function. Thecomputer-readable storage medium (720) causes the processor to executethe designated function of the instructions (722, 724, 726, 728, 730).

Referring to FIG. 7, source camera identify instructions (722), whenexecuted by the processor, cause the processor to identify multiplepotential objects of interest from a camera feed of a source camera.Adjacent camera instructions (724), when executed by the processor, maycause the processor to identify a number of adjacent cameras alongpossible travel routes. During a second iteration, the adjacent camerainstructions (724) may also cause the processor to identify a secondnumber of adjacent cameras, which second number are adjacent a firstdetermined adjacent camera. For each adjacent camera and for each secondadjacent camera, match instructions (726), when executed by theprocessor, may cause the processor to detect whether any of the multiplepotential objects of interest are identified in an associated camerafeed.

For each adjacent camera and second adjacent camera whose feed does notinclude any potential objects of interest, block instructions (728),when executed by the processor, may cause the processor to preventdownstream analysis of camera feeds to identify the multiple potentialobjects of interest. Route instructions (730), when executed by theprocessor, may cause the processor to plot a likely route of themultiple objects of interest.

Aspects of the present system and method are described herein withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according to examplesof the principles described herein. Each block of the flowchartillustrations and block diagrams, and combinations of blocks in theflowchart illustrations and block diagrams, may be implemented bycomputer usable program code. In one example, the computer usableprogram code may be embodied within a computer readable storage medium;the computer readable storage medium being part of the computer programproduct. In one example, the computer readable storage medium is anon-transitory computer readable medium.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method, comprising:determining a time window when to identify multiple potential objects ofinterest from a camera feed of a source camera; identifying multiplepotential objects of interest from the camera feed of the source camera;identifying a number of adjacent cameras along possible travel routes;for each adjacent camera, detecting whether any of the multiplepotential objects of interest are identified in an associated camerafeed; and for each adjacent camera whose feed does not include anypotential object of interest, preventing analysis of downstream camerafeeds during tracking of the multiple potential objects of interest. 2.The computer-implemented method of claim 1, further comprising for eachadjacent camera whose feed does include a potential object of interest:identifying, for the adjacent camera, a second number of adjacentcameras; for each of the second number of adjacent cameras, detectingwhether any of the multiple potential objects of interested areidentified in an associated camera feed; and for each of the secondnumber of adjacent cameras whose feed does not include any potentialobject of interest, preventing analysis of downstream camera feedsduring tracking of the multiple potential objects of interest.
 3. Thecomputer-implemented method of claim 1, further comprising receiving asignal to trigger identification of multiple potential objects ofinterest from the source camera.
 4. The computer-implemented method ofclaim 3, wherein the signal is an alarm.
 5. The computer-implementedmethod of claim 1, wherein detecting whether any of the multiplepotential objects of interest from the source camera are in anassociated camera feed comprises comparing objects of interest from asource camera feed with objects of interest from an adjacent camerafeed.
 6. The computer-implemented method of claim 1, wherein identifyinga number of adjacent cameras along possible travel routes comprisestraversing paths to identify possible routes away from the sourcecamera.
 7. The computer-implemented method of claim 1, whereinidentifying a number of adjacent cameras along possible travel routescomprises expanding a radius away from the source camera until anadjacent camera is detected.
 8. The computer-implemented method of claim1, further comprising filtering at least one of the multiple potentialobjects of interest.
 9. The computer-implemented method of claim 1,wherein the source camera identifies the number of adjacent camerasalong possible travel routes.
 10. The computer-implemented method ofclaim 9, wherein the source camera sends a notification and dataregarding the multiple potential objects of interest from the sourcecamera to the number of adjacent cameras.
 11. A system, comprising: animage recognition system to, for camera feeds received from cameras in anetwork, identify potential objects of interest from associated camerafeeds; a camera network analysis device to identify, relative to asource camera, a number of adjacent cameras along possible travelroutes; a travel estimation system to estimate a speed traveled by eachpotential object of interest; a feed analysis device to, for eachadjacent camera, detect whether any of the multiple potential objects ofinterest are identified in an associated camera feed, wherein anadjacent camera is analyzed based on a window determined by the speed ofthe potential objects of interest; and a route plotting system to plot alikely route of the multiple objects of interest by preventing analysisof downstream camera feeds when an upstream camera does not include anypotential object of interest.
 12. The system of claim 11, wherein theimage recognition system comprises image recognition devices integratedwith a respective camera.
 13. The system of claim 11, wherein the imagerecognition system: is located at a remote location from the network ofcameras; and analyzes feeds from multiple cameras.
 14. The system ofclaim 11, wherein the feed analysis device comprises a database of knownobjects of interest.
 15. A computer program product for tracking anobject of interest, the computer program product comprising a computerreadable storage medium having program instructions embodied therewith,the program instructions executable by a processor, to cause theprocessor to: identify, by the processor, multiple potential objects ofinterest from a camera feed of a source camera; identify, by theprocessor, a number of adjacent cameras along possible travel routes,wherein the processor is to expand a radius away from the source camerauntil an adjacent camera is detected; for each adjacent camera, detect,by the processor, whether any of the multiple potential objects ofinterest are identified in an associated camera feed; for each adjacentcamera whose feed does not include any potential object of interest,prevent, by the processor, analysis of downstream camera feeds duringtracking of the multiple potential objects of interest; for eachadjacent camera whose feed does include a potential object of interest,identify, by the processor, a second number of adjacent cameras; foreach of the second number of adjacent cameras, detect, by the processor,whether any of the multiple potential objects of interested areidentified in an associated camera feed; for each of the second numberof adjacent cameras whose feed does not include any potential object ofinterest, prevent, by the processor, analysis of downstream camera feedsto identify the multiple potential objects of interest; and plot, by theprocessor, a likely route of the multiple objects of interest.
 16. Thecomputer program product of claim 15, wherein an object of interestcomprises an individual.
 17. The computer program product of claim 15,wherein an object of interest comprises a vehicle.
 18. The computerprogram product of claim 15, wherein an adjacent camera comprises acamera previously analyzed.